﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace PhanMemQuanLyThuChi
{
    public partial class frmDVT : Form
    {
        public frmDVT()
        {
            InitializeComponent();
        }
        connect cn = new connect();
        int thaotac;
        private void Loaddata()
        {
            gridDVT.DataSource = cn.GetData("DVT_DS");
            Bat_Tat_Button(true);
            txtMaDVT.Text = "";
            txtTenDVT.Text = "";
        }
        private void Bat_Tat_Button(bool val)
        {
            btnThem.Enabled = val;
            btnSua.Enabled = val;
            btnXoa.Enabled = val;
            btnLuu.Enabled = !val;
            gridDVT.Enabled = val;
        }
        private void frmDVT_Load(object sender, EventArgs e)
        {
            Loaddata();
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            thaotac = 1;
            txtMaDVT.Text = "";
            txtTenDVT.Text = "";
            txtTenDVT.Enabled = true;
            Bat_Tat_Button(false);
        }

        private void btnSua_Click(object sender, EventArgs e)
        {
            thaotac = 2;
            txtTenDVT.Enabled = true;
            Bat_Tat_Button(false);
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            if (txtMaDVT.Text == "")
            {
                MessageBox.Show("Chưa có dữ liệu được chọn","Thông Báo",MessageBoxButtons.OK,MessageBoxIcon.Error);
                Loaddata();
            }
            else
            {
                SqlCommand cmd = new SqlCommand("DVT_DELETE",cn.Connection());
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter("madvt",SqlDbType.Int)).Value = txtMaDVT.Text;
                if (cmd.ExecuteNonQuery() == 1)
                {
                    Loaddata();
                }
                else
                {
                    MessageBox.Show("Xóa bị lỗi", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }

        private void btnHuy_Click(object sender, EventArgs e)
        {
            Loaddata();
        }

        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (thaotac == 1)
            {
                SqlCommand cmd = new SqlCommand("DVT_INSERT",cn.Connection());
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter("tendvt",SqlDbType.NVarChar)).Value = txtTenDVT.Text;
                if (cmd.ExecuteNonQuery() == 1)
                {
                    Loaddata();
                }
                else
                {
                    MessageBox.Show("Không thể thêm được dữ liệu", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                if (txtMaDVT.Text == "")
                {
                    MessageBox.Show("Chưa có dữ liệu được chọn", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    Loaddata();
                }
                else
                {
                    SqlCommand cmd1 = new SqlCommand("DVT_UPDATE",cn.Connection());
                    cmd1.CommandType = CommandType.StoredProcedure;
                    cmd1.Parameters.Add(new SqlParameter("madvt", SqlDbType.Int)).Value = txtMaDVT.Text;
                    cmd1.Parameters.Add(new SqlParameter("tendvt", SqlDbType.NVarChar)).Value = txtTenDVT.Text;
                    if (cmd1.ExecuteNonQuery() == 1)
                    {
                        Loaddata();
                    }
                    else
                    {
                        MessageBox.Show("Cập nhật bị lỗi", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
        }

        private void gridDVT_Click(object sender, EventArgs e)
        {
            txtMaDVT.Text = DSDVT.GetFocusedRowCellDisplayText("MaDVT");
            txtTenDVT.Text = DSDVT.GetFocusedRowCellDisplayText("TenDVT");
        }
    }
}
